/*
 * Powered By XY
 * Since 2020
 */

package com.xy.biz.mes.domain.req;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

import com.xy.lang.validation.annotation.AlertMessage;

import java.time.LocalDateTime;
import java.util.List;

/**
 *
 *
 * @author zsp
 * @date 2022-1-6
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ListManufactureOrderRequest {

    @NotNull(message = "pageIndexRequired")
    @AlertMessage(code = "pageIndexRequired", msg = "页索引不能为空")
    private Integer pageIndex;

    @NotNull(message = "pageSizeRequired")
    @AlertMessage(code = "pageSizeRequired", msg = "页大小不能为空")
    private Integer pageSize;

    /**
     * 订单类型：1-分装，2-生产
     */
    private Integer orderType;
    /**
     * 标签：例如紧急度
     */
    private String tag;
    /**
     * 状态：0-已取消，10-已登记，20-已分配，30-生产中，40-生产完成，45-审核不放行，50-审核放行
     */
    private Integer status;
    /**
     * 状态：0-已取消，10-已登记，20-已分配，30-生产中，40-生产完成，45-审核不放行，50-审核放行
     */
    private List<Integer> statusList;
    /**
     * 生产订单编号
     */
    private String manufactureOrderCode;
    /**
     * 来源单号
     */
    private String sourceOrderCode;
    /**
     * 完成人姓名
     */
    private String finishUserName;

    /**
     * 登记人姓名
     */
    private String createUserName;

    /**
     * 登记时间
     */
    private LocalDateTime createTimeBegin;
    /**
     * 登记时间
     */
    private LocalDateTime createTimeEnd;

    /**
     *
     */
    private Boolean withGoods;

}
